package com.bot.nft.module.op.mapper;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bot.common.mybatis.core.BaseMapperPlus;
import com.bot.nft.module.op.domain.OpRofoInfo;
import com.bot.nft.module.op.domain.OpRofoList;
import com.bot.nft.module.op.domain.bo.OpRofoListBo;
import com.bot.nft.module.op.domain.vo.OpRofoHoldLimtVo;
import com.bot.nft.module.op.domain.vo.OpRofoInfoVo;
import com.bot.nft.module.op.domain.vo.OpRofoListVo;
import com.bot.nft.module.op.domain.vo.OpRofoOpListVo;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author wangsu
 * @since 2024-01-24
 */
public interface OpRofoInfoMapper extends BaseMapperPlus<OpRofoInfoMapper,OpRofoInfo, OpRofoInfoVo> {

    /**
     * 查看优先购活动信息
     */
    OpRofoInfoVo getRofoOp(String id);


    /**
     * 查询优先购活动信息
     */
    Page<OpRofoOpListVo> queryRofoOpByPage(Page<OpRofoOpListVo> page,@Param("rofoName") String rofoName, @Param("startTime") Date startTime, @Param("endTime")Date endTime);

    /**
     * 查看优先购藏品条件项信息
     */
    List<OpRofoHoldLimtVo> getRofoHold(String rofoId);

    /**
     * 执行优先购活动条件信息
     */
    List<OpRofoListBo> queryRofoList(@Param("nftId") String nftId, @Param("snapshotTime")Date snapshotTime, @Param("number")Integer number );

    /**
     * 查询优先购列表
     */
    Page<OpRofoInfoVo> queryRofo(Page<OpRofoInfo> page ,String name);






}
